home *** CD-ROM | disk | FTP | other *** search
/ QuickTime 2.0 Developer Kit / QuickTime 2.0 Developer Kit.iso / mac / MAC / Programming Stuff / Interfaces / PInterfaces / MediaHandlers.p < prev    next >
Encoding:
Text File  |  1994-11-11  |  8.9 KB  |  287 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        MediaHandlers.p
  3.  
  4.      Copyright:    © 1984-1994 by Apple Computer, Inc.
  5.                  All rights reserved.
  6.  
  7.      Version:    Universal Interfaces 2.0a3  ETO #16, MPW prerelease.  Friday, November 11, 1994. 
  8.  
  9.      Bugs?:        If you find a problem with this file, send the file and version
  10.                  information (from above) and the problem description to:
  11.  
  12.                      Internet:    apple.bugs@applelink.apple.com
  13.                      AppleLink:    APPLE.BUGS
  14.  
  15. }
  16.  
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT MediaHandlers;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __MEDIAHANDLERS__}
  27. {$SETC __MEDIAHANDLERS__ := 1}
  28.  
  29. {$I+}
  30. {$SETC MediaHandlersIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33.  
  34. {$IFC UNDEFINED __MEMORY__}
  35. {$I Memory.p}
  36. {$ENDC}
  37. {    Types.p                                                        }
  38. {        ConditionalMacros.p                                        }
  39. {    MixedMode.p                                                    }
  40.  
  41. {$IFC UNDEFINED __IMAGECOMPRESSION__}
  42. {$I ImageCompression.p}
  43. {$ENDC}
  44. {    Quickdraw.p                                                    }
  45. {        QuickdrawText.p                                            }
  46. {    QDOffscreen.p                                                }
  47. {        Errors.p                                                }
  48. {    Components.p                                                }
  49. {    Windows.p                                                    }
  50. {        Events.p                                                }
  51. {            OSUtils.p                                            }
  52. {        Controls.p                                                }
  53. {            Menus.p                                                }
  54. {    StandardFile.p                                                }
  55. {        Dialogs.p                                                }
  56. {            TextEdit.p                                            }
  57. {        Files.p                                                    }
  58.  
  59. {$IFC UNDEFINED __MOVIES__}
  60. {$I Movies.p}
  61. {$ENDC}
  62. {    Aliases.p                                                    }
  63. {        AppleTalk.p                                                }
  64.  
  65. {$PUSH}
  66. {$ALIGN MAC68K}
  67. {$LibExport+}
  68.  
  69. CONST
  70.     handlerHasSpatial            = 1 * (2**(0));
  71.     handlerCanClip                = 1 * (2**(1));
  72.     handlerCanMatte                = 1 * (2**(2));
  73.     handlerCanTransferMode        = 1 * (2**(3));
  74.     handlerNeedsBuffer            = 1 * (2**(4));
  75.     handlerNoIdle                = 1 * (2**(5));
  76.     handlerNoScheduler            = 1 * (2**(6));
  77.     handlerWantsTime            = 1 * (2**(7));
  78.     handlerCGrafPortOnly        = 1 * (2**(8));
  79.  
  80. { media task flags }
  81.     mMustDraw                    = 1 * (2**(3));
  82.     mAtEnd                        = 1 * (2**(4));
  83.     mPreflightDraw                = 1 * (2**(5));
  84.     mSyncDrawing                = 1 * (2**(6));
  85.  
  86. { media task result flags }
  87.     mDidDraw                    = 1 * (2**(0));
  88.     mNeedsToDraw                = 1 * (2**(2));
  89.     mDrawAgain                    = 1 * (2**(3));
  90.     mPartialDraw                = 1 * (2**(4));
  91.  
  92.     forceUpdateRedraw            = 1 * (2**(0));
  93.     forceUpdateNewBuffer        = 1 * (2**(1));
  94.  
  95.  
  96. TYPE
  97.     GetMovieCompleteParams = RECORD
  98.         version:                INTEGER;
  99.         theMovie:                Movie;
  100.         theTrack:                Track;
  101.         theMedia:                Media;
  102.         movieScale:                TimeScale;
  103.         mediaScale:                TimeScale;
  104.         movieDuration:            TimeValue;
  105.         trackDuration:            TimeValue;
  106.         mediaDuration:            TimeValue;
  107.         effectiveRate:            Fixed;
  108.         timeBase:                TimeBase;
  109.         volume:                    INTEGER;
  110.         width:                    Fixed;
  111.         height:                    Fixed;
  112.         trackMovieMatrix:        MatrixRecord;
  113.         moviePort:                CGrafPtr;
  114.         movieGD:                GDHandle;
  115.         trackMatte:                PixMapHandle;
  116.     END;
  117.  
  118. FUNCTION MediaInitialize(mh: MediaHandler; VAR gmc: GetMovieCompleteParams): ComponentResult;
  119.     {$IFC NOT GENERATINGCFM}
  120.     INLINE $2F3C, $4, $501, $7000, $A82A;
  121.     {$ENDC}
  122. FUNCTION MediaSetHandlerCapabilities(mh: MediaHandler; flags: LONGINT; flagsMask: LONGINT): ComponentResult;
  123.     {$IFC NOT GENERATINGCFM}
  124.     INLINE $2F3C, $8, $502, $7000, $A82A;
  125.     {$ENDC}
  126. FUNCTION MediaIdle(mh: MediaHandler; atMediaTime: TimeValue; flagsIn: LONGINT; VAR flagsOut: LONGINT; {CONST}VAR movieTime: TimeRecord): ComponentResult;
  127.     {$IFC NOT GENERATINGCFM}
  128.     INLINE $2F3C, $10, $503, $7000, $A82A;
  129.     {$ENDC}
  130. FUNCTION MediaGetMediaInfo(mh: MediaHandler; h: Handle): ComponentResult;
  131.     {$IFC NOT GENERATINGCFM}
  132.     INLINE $2F3C, $4, $504, $7000, $A82A;
  133.     {$ENDC}
  134. FUNCTION MediaPutMediaInfo(mh: MediaHandler; h: Handle): ComponentResult;
  135.     {$IFC NOT GENERATINGCFM}
  136.     INLINE $2F3C, $4, $505, $7000, $A82A;
  137.     {$ENDC}
  138. FUNCTION MediaSetActive(mh: MediaHandler; enableMedia: BOOLEAN): ComponentResult;
  139.     {$IFC NOT GENERATINGCFM}
  140.     INLINE $2F3C, $2, $506, $7000, $A82A;
  141.     {$ENDC}
  142. FUNCTION MediaSetRate(mh: MediaHandler; rate: Fixed): ComponentResult;
  143.     {$IFC NOT GENERATINGCFM}
  144.     INLINE $2F3C, $4, $507, $7000, $A82A;
  145.     {$ENDC}
  146. FUNCTION MediaGGetStatus(mh: MediaHandler; VAR statusErr: ComponentResult): ComponentResult;
  147.     {$IFC NOT GENERATINGCFM}
  148.     INLINE $2F3C, $4, $508, $7000, $A82A;
  149.     {$ENDC}
  150. FUNCTION MediaTrackEdited(mh: MediaHandler): ComponentResult;
  151.     {$IFC NOT GENERATINGCFM}
  152.     INLINE $2F3C, 0, $509, $7000, $A82A;
  153.     {$ENDC}
  154. FUNCTION MediaSetMediaTimeScale(mh: MediaHandler; newTimeScale: TimeScale): ComponentResult;
  155.     {$IFC NOT GENERATINGCFM}
  156.     INLINE $2F3C, $4, $50A, $7000, $A82A;
  157.     {$ENDC}
  158. FUNCTION MediaSetMovieTimeScale(mh: MediaHandler; newTimeScale: TimeScale): ComponentResult;
  159.     {$IFC NOT GENERATINGCFM}
  160.     INLINE $2F3C, $4, $50B, $7000, $A82A;
  161.     {$ENDC}
  162. FUNCTION MediaSetGWorld(mh: MediaHandler; aPort: CGrafPtr; aGD: GDHandle): ComponentResult;
  163.     {$IFC NOT GENERATINGCFM}
  164.     INLINE $2F3C, $8, $50C, $7000, $A82A;
  165.     {$ENDC}
  166. FUNCTION MediaSetDimensions(mh: MediaHandler; width: Fixed; height: Fixed): ComponentResult;
  167.     {$IFC NOT GENERATINGCFM}
  168.     INLINE $2F3C, $8, $50D, $7000, $A82A;
  169.     {$ENDC}
  170. FUNCTION MediaSetClip(mh: MediaHandler; theClip: RgnHandle): ComponentResult;
  171.     {$IFC NOT GENERATINGCFM}
  172.     INLINE $2F3C, $4, $50E, $7000, $A82A;
  173.     {$ENDC}
  174. FUNCTION MediaSetMatrix(mh: MediaHandler; VAR trackMovieMatrix: MatrixRecord): ComponentResult;
  175.     {$IFC NOT GENERATINGCFM}
  176.     INLINE $2F3C, $4, $50F, $7000, $A82A;
  177.     {$ENDC}
  178. FUNCTION MediaGetTrackOpaque(mh: MediaHandler; VAR trackIsOpaque: BOOLEAN): ComponentResult;
  179.     {$IFC NOT GENERATINGCFM}
  180.     INLINE $2F3C, $4, $510, $7000, $A82A;
  181.     {$ENDC}
  182. FUNCTION MediaSetGraphicsMode(mh: MediaHandler; mode: LONGINT; {CONST}VAR opColor: RGBColor): ComponentResult;
  183.     {$IFC NOT GENERATINGCFM}
  184.     INLINE $2F3C, $8, $511, $7000, $A82A;
  185.     {$ENDC}
  186. FUNCTION MediaGetGraphicsMode(mh: MediaHandler; VAR mode: LONGINT; VAR opColor: RGBColor): ComponentResult;
  187.     {$IFC NOT GENERATINGCFM}
  188.     INLINE $2F3C, $8, $512, $7000, $A82A;
  189.     {$ENDC}
  190. FUNCTION MediaGSetVolume(mh: MediaHandler; volume: INTEGER): ComponentResult;
  191.     {$IFC NOT GENERATINGCFM}
  192.     INLINE $2F3C, $2, $513, $7000, $A82A;
  193.     {$ENDC}
  194. FUNCTION MediaSetSoundBalance(mh: MediaHandler; balance: INTEGER): ComponentResult;
  195.     {$IFC NOT GENERATINGCFM}
  196.     INLINE $2F3C, $2, $514, $7000, $A82A;
  197.     {$ENDC}
  198. FUNCTION MediaGetSoundBalance(mh: MediaHandler; VAR balance: INTEGER): ComponentResult;
  199.     {$IFC NOT GENERATINGCFM}
  200.     INLINE $2F3C, $4, $515, $7000, $A82A;
  201.     {$ENDC}
  202. FUNCTION MediaGetNextBoundsChange(mh: MediaHandler; VAR when: TimeValue): ComponentResult;
  203.     {$IFC NOT GENERATINGCFM}
  204.     INLINE $2F3C, $4, $516, $7000, $A82A;
  205.     {$ENDC}
  206. FUNCTION MediaGetSrcRgn(mh: MediaHandler; rgn: RgnHandle; atMediaTime: TimeValue): ComponentResult;
  207.     {$IFC NOT GENERATINGCFM}
  208.     INLINE $2F3C, $8, $517, $7000, $A82A;
  209.     {$ENDC}
  210. FUNCTION MediaPreroll(mh: MediaHandler; time: TimeValue; rate: Fixed): ComponentResult;
  211.     {$IFC NOT GENERATINGCFM}
  212.     INLINE $2F3C, $8, $518, $7000, $A82A;
  213.     {$ENDC}
  214. FUNCTION MediaSampleDescriptionChanged(mh: MediaHandler; index: LONGINT): ComponentResult;
  215.     {$IFC NOT GENERATINGCFM}
  216.     INLINE $2F3C, $4, $519, $7000, $A82A;
  217.     {$ENDC}
  218. FUNCTION MediaHasCharacteristic(mh: MediaHandler; characteristic: OSType; VAR hasIt: BOOLEAN): ComponentResult;
  219.     {$IFC NOT GENERATINGCFM}
  220.     INLINE $2F3C, $8, $51A, $7000, $A82A;
  221.     {$ENDC}
  222. FUNCTION MediaGetOffscreenBufferSize(mh: MediaHandler; VAR bounds: Rect; depth: INTEGER; ctab: CTabHandle): ComponentResult;
  223.     {$IFC NOT GENERATINGCFM}
  224.     INLINE $2F3C, $A, $51B, $7000, $A82A;
  225.     {$ENDC}
  226. FUNCTION MediaSetHints(mh: MediaHandler; hints: LONGINT): ComponentResult;
  227.     {$IFC NOT GENERATINGCFM}
  228.     INLINE $2F3C, $4, $51C, $7000, $A82A;
  229.     {$ENDC}
  230. FUNCTION MediaGetName(mh: MediaHandler; VAR name: Str255; requestedLanguage: LONGINT; VAR actualLanguage: LONGINT): ComponentResult;
  231.     {$IFC NOT GENERATINGCFM}
  232.     INLINE $2F3C, $C, $51D, $7000, $A82A;
  233.     {$ENDC}
  234. FUNCTION MediaForceUpdate(mh: MediaHandler; forceUpdateFlags: LONGINT): ComponentResult;
  235.     {$IFC NOT GENERATINGCFM}
  236.     INLINE $2F3C, $4, $51E, $7000, $A82A;
  237.     {$ENDC}
  238. FUNCTION MediaGetDrawingRgn(mh: MediaHandler; VAR partialRgn: RgnHandle): ComponentResult;
  239.     {$IFC NOT GENERATINGCFM}
  240.     INLINE $2F3C, $4, $521, $7000, $A82A;
  241.     {$ENDC}
  242.  
  243. CONST
  244.     kMediaInitializeSelect        = $501;
  245.     kMediaSetHandlerCapabilitiesSelect = $502;
  246.     kMediaIdleSelect            = $503;
  247.     kMediaGetMediaInfoSelect    = $504;
  248.     kMediaPutMediaInfoSelect    = $505;
  249.     kMediaSetActiveSelect        = $506;
  250.     kMediaSetRateSelect            = $507;
  251.     kMediaGGetStatusSelect        = $508;
  252.     kMediaTrackEditedSelect        = $509;
  253.     kMediaSetMediaTimeScaleSelect = $50A;
  254.     kMediaSetMovieTimeScaleSelect = $50B;
  255.     kMediaSetGWorldSelect        = $50C;
  256.     kMediaSetDimensionsSelect    = $50D;
  257.     kMediaSetClipSelect            = $50E;
  258.     kMediaSetMatrixSelect        = $50F;
  259.     kMediaGetTrackOpaqueSelect    = $510;
  260.     kMediaSetGraphicsModeSelect    = $511;
  261.     kMediaGetGraphicsModeSelect    = $512;
  262.     kMediaGSetVolumeSelect        = $513;
  263.     kMediaSetSoundBalanceSelect    = $514;
  264.     kMediaGetSoundBalanceSelect    = $515;
  265.     kMediaGetNextBoundsChangeSelect = $516;
  266.     kMediaGetSrcRgnSelect        = $517;
  267.     kMediaPrerollSelect            = $518;
  268.     kMediaSampleDescriptionChangedSelect = $519;
  269.     kMediaHasCharacteristicSelect = $51A;
  270.     kMediaGetOffscreenBufferSizeSelect = $51B;
  271.     kMediaSetHintsSelect        = $51C;
  272.     kMediaGetNameSelect            = $51D;
  273.     kMediaForceUpdateSelect        = $51E;
  274.     kMediaGetDrawingRgnSelect    = $521;
  275.  
  276.  
  277. {$ALIGN RESET}
  278. {$POP}
  279.  
  280. {$SETC UsingIncludes := MediaHandlersIncludes}
  281.  
  282. {$ENDC} {__MEDIAHANDLERS__}
  283.  
  284. {$IFC NOT UsingIncludes}
  285.  END.
  286. {$ENDC}
  287.